#pragma once
#ifndef Game_Common_EntityLogicManager_h
#define Game_Common_EntityLogicManager_h

#include <map>
#include "IEntityLogic.h"

namespace Game {
namespace Common {

using namespace std;

class EntityLogicManager {
public:
    EntityLogicManager();
    virtual ~EntityLogicManager();
    IEntityLogic* GetEntityLogic(const RTTI& rtti) const;
    void Free();
    void Register(IEntityLogic* entityLogic);
private:
    typedef map<string, IEntityLogic*> EntityLogicMap;
    typedef pair<string, IEntityLogic*> EntityLogicMapPair;
    EntityLogicMap entityLogicMap;
};

}
}

#endif